Virtual auditory displays (including computer games, virtual reality systems or computer music workstations) create virtual worlds in which a virtual listener can hear sounds generated from sound sources within these worlds. In addition to reproducing sound as generated by the source, the computer also processes the source signal to simulate the effects of the virtual environment on the sound emitted by the source. In a first-person computer game, the player hears the sound that he/she would hear if he/she were located in the position of the virtual listener in the virtual world. One important environmental factor is reverberation, which refers to the reflections of the generated sound which bounce off objects in the environment. Reverberation can be characterized by measurable criteria, such as the reverberation time, which is a measure of the time it takes for the reflections to become imperceptible. Computer generated sounds without reverberation sound dead or dry. Additionally, reverberation is a very important effect utilized in music composition and rendering. Often a musical voice is recorded “dry” and then reverberation, or other effects, are added afterwards as post processing.
Artificial reverberation algorithms are well known in the art and are described e.g. in Stautner, J., and Puckette, M., “Designing Multi-Channel Reverberators,” Computer Music Journal, Vol. 6, no. 1 (1982); Dattorro, J., “Effect Design (Part 1: Reverberator and Other Filters; Part 2: Delay-Line Modulation and Chorus),” Journal of the Audio Engineering Society, Vol. 45, no. 9–10 (1997); and Jot, J.-M., “Efficient Models for Reverberation and Distance Rendering in Computer Music and Virtual Audio Reality,” Proceedings of the 1997 International Computer Music Conference (1997). The implementation of these algorithms on digital signal processors is based on a network of digital delay lines which are connected together and to the input and output points of the algorithm by feed-forward or feedback connections. Rooms of different sizes and acoustical properties can be simulated by modifying the topology of the network (the number of delay lines and the connections between them), by varying the duration of the delays, or by adjusting the amplification or attenuation coefficients of multipliers and filters inserted on the feed-forward or feedback connections.
As depicted in FIG. 1, a typical model of reverberation breaks the reverberation effects into discrete time segments. The first signal that reaches the listener is the direct-path signal, which undergoes no reflections. Subsequently, a series of discrete “early” reflections are received during an initial period of the reverberation response. Finally, after a critical time, the exponentially decaying “late” reverberation is modeled statistically because of the combination and overlapping of the various reflections. The magnitudes of Reflections_delay and Reverb_delay are typically dependent on the size of the room and on the position of the source and the listener in the room.
Accurate control of decay time has been demonstrated in a class of reverberator topologies, often referred to as “Feedback Delay Networks” (FDN), whose “lossless prototype” can be represented as a parallel bank of delay lines interconnected via a unitary (i.e. energy-preserving) feedback matrix. FDN Reverberators are disclosed in co-pending commonly assigned patent applications entitled ENVIRONMENTAL REVERBERATION PROCESSOR, filed Nov. 2, 1999 (Application Ser. No. 09/441,141) and REVERBERATION PROCESSOR FOR INTERACTIVE AUDIO APPLICATIONS, filed Apr. 11, 2000 (Application Ser. No. 09/547,365), which are hereby incorporated by reference for all purposes. Another popular class of reverberator topologies creates a late reverberation response by using arrangements of delays and all-pass filters inserted in a feedback loop. These topologies are popular due to the efficient generation of echoes and theoretically colorless frequency response of all-pass filters. However, these all-pass reverberators have lacked a mathematically accurate means of controlling decay time characteristics and output level and have had to rely instead on empirical or inaccurate methods.